package jp.co.oec_ltd.Memo_Apl;


import android.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;

public class MessageDialog {//implements DialogInterface.OnDismissListener, DialogInterface.OnCancelListener{

    /** ダイアログに表示するタイトル */
    private String        mTitle;
    public static final int  SLT_BEGQUE_ACTIVITY2 = 110;
    /** ダイアログに表示するメッセージ */
    private StringBuilder mMessage;

    /**
     * アラートダイアログ設定
     */
    AlertDialog.Builder   alertDialogBuilder;

    /**
     * アラートダイアログ設定
     */
     protected AlertDialog   alertDialog;



    // public void messageDialog(Context context, String title, String msg,
    // DialogInterface.OnClickListener[] onClickListeners) {

    // public void showMsgDialog(Activity context,String title,String
    // msg,DialogInterface.OnClickListener[] onClickListeners) {

    public void showMsgDialog(final Activity context,String title, String msg,
            DialogInterface.OnClickListener[] onClickListeners,  OnCancelListener onCancelClickListener) {
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
        // タイトルを設定
        alertDialogBuilder.setTitle(title);
        // メッセージを設定
        alertDialogBuilder.setMessage(msg);
        // 戻るボタンでのキャンセルを有効に設定(true、もしくはデフォルトで有効)
        alertDialogBuilder.setCancelable(true);

        // アイコンを設定


        // Positiveボタンとリスナを設定
        alertDialogBuilder.setNeutralButton("YES", onClickListeners[0]);
        // Neutralボタンとリスナを設定
        alertDialogBuilder.setNegativeButton("NO", onClickListeners[1]);


        // キャンセル時処理(cancelメソッドもしくはbackボタン押下時に呼ばれる)
        alertDialogBuilder.setOnCancelListener(onCancelClickListener);

        alertDialogBuilder.create().show();
        // ダイアログを表示

    }

    public void showResultDialog(final Activity context,int total, int ansCount,double ansRate,
            DialogInterface.OnClickListener onClickListeners,  OnCancelListener onCancelClickListener) {
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
        // タイトルを設定
        alertDialogBuilder.setTitle("結果");

        //問題数の取得
        //正答数の取得
        //誤答数の取得
        //正解率の取得

        // メッセージを設定
        int ansNotcount = total - (int) ansCount;
        double chgRate=ansRate*100;
        String rateStr= String.format("%.2f", ansRate*100);
        String msg1 = "問題数 : " + total;
        String msg2 = "正答数 : " + ansCount;
        String msg3 = "誤答数 : " + ansNotcount;
        String msg4 = "正解率 : " + rateStr + "%";

        String msg = msg1+"\n"+msg2+"\n"+msg3+"\n"+msg4+"\n";
        alertDialogBuilder.setMessage(msg);




        // 戻るボタンでのキャンセルを有効に設定(true、もしくはデフォルトで有効)
        alertDialogBuilder.setCancelable(true);

        // アイコンを設定


        // Positiveボタンとリスナを設定
        alertDialogBuilder.setNeutralButton("OK", onClickListeners);
        // Neutralボタンとリスナを設定
//        alertDialogBuilder.setNegativeButton("詳細", onClickListeners[1]);


        // キャンセル時処理(cancelメソッドもしくはbackボタン押下時に呼ばれる)
        alertDialogBuilder.setOnCancelListener(onCancelClickListener);

        alertDialogBuilder.create().show();
        // ダイアログを表示

    }

    public void editDialog(final Activity context,String title, String msg, EditText editText, DialogInterface.OnClickListener[] onClickListeners,  OnCancelListener onCancelClickListener) {

//        final CharSequence[] colorList = {"Red", "Green", "Blue"};


        //repeatEditText = new EditText(context);
        // インスタンス生成
        AlertDialog.Builder builder = new AlertDialog.Builder(context);

        // タイトル設定
//        String title = "名前を付けて保存";
        builder.setTitle(title);
//        // メッセージ設定
//        String msg = "ファイル名を入力してください";
        builder.setMessage(msg);

        // 戻るボタンでのキャンセルを有効に設定(true、もしくはデフォルトで有効)
        builder.setCancelable(true);

        // Positiveボタンとリスナを設定
        builder.setNeutralButton("OK", onClickListeners[0]);

        // Neutralボタンとリスナを設定
        builder.setNegativeButton("キャンセル", onClickListeners[1]);

        // キャンセル時処理(cancelメソッドもしくはbackボタン押下時に呼ばれる)
        builder.setOnCancelListener(onCancelClickListener);
        builder.setView(editText);

        // ダイアログの表示
//        builder.create();
        builder.create().show();
    }
}
